package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 万能机详情表信息(1,2,4标)业务对象 n_laboratory_mechanics_w_detail
 *
 * @author tll
 * @date 2023-09-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NLaboratoryMechanicsWDetailBo extends BaseEntity {

    /**
     * 源表主键
     */
    @NotNull(message = "源表主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * group表主键
     */
    @NotNull(message = "group表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long groupId;

    /**
     * 序号 代表第几根
     */
    @NotNull(message = "序号 代表第几根不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long XH;

    /**
     * 公称直径(mm)
     */
    @NotNull(message = "公称直径(mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long GCZJ;

    /**
     * 公称截面面积(mm2)
     */
    @NotNull(message = "公称截面面积(mm2)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Area;

    /**
     * 原始标据
     */
    @NotNull(message = "原始标据不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Lo;

    /**
     * 引伸计标距(mm) 根据实际情况不一定有
     */
    @NotNull(message = "引伸计标距(mm) 根据实际情况不一定有不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Le;

    /**
     * 极限荷载(kN
     */
    @NotNull(message = "极限荷载(kN不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Fm;

    /**
     * 极限强度(MPa)
     */
    @NotNull(message = "极限强度(MPa)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Rm;

    /**
     * (屈服强度)上屈服荷载(kN)
     */
    @NotNull(message = "(屈服强度)上屈服荷载(kN)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long FeH;

    /**
     * (屈服强度)上屈服强度(MPa)
     */
    @NotNull(message = "(屈服强度)上屈服强度(MPa)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long ReH;

    /**
     * (屈服强度)下屈服荷载(kN)
     */
    @NotNull(message = "(屈服强度)下屈服荷载(kN)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long FeL;

    /**
     * (屈服强度)下屈服强度(MPa)
     */
    @NotNull(message = "(屈服强度)下屈服强度(MPa)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long ReL;

    /**
     * 规定塑性延伸力(kN)
     */
    @NotNull(message = "规定塑性延伸力(kN)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Fp;

    /**
     * 规定塑性延伸强度(MPa
     */
    @NotNull(message = "规定塑性延伸强度(MPa不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Rp;

    /**
     * (伸长率)断后标距(mm)
     */
    @NotNull(message = "(伸长率)断后标距(mm)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Lu;

    /**
     * (伸长率)断后伸长率(%)
     */
    @NotNull(message = "(伸长率)断后伸长率(%)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long A;

    /**
     * 总延伸率/总伸长率(%) 根据实际情况不一定有
     */
    @NotNull(message = "总延伸率/总伸长率(%) 根据实际情况不一定有不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long At;

    /**
     * 最大力总伸长率
     */
    @NotNull(message = "最大力总伸长率不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long Agt;

    /**
     * (断裂情况描述)位置 钢筋接头类试验 不一定有
     */
    @NotBlank(message = "(断裂情况描述)位置 钢筋接头类试验 不一定有不能为空", groups = { AddGroup.class, EditGroup.class })
    private String DLWZ;

    /**
     * (断裂情况描述)性质 钢筋接头类试验 不一定有
     */
    @NotBlank(message = "(断裂情况描述)性质 钢筋接头类试验 不一定有不能为空", groups = { AddGroup.class, EditGroup.class })
    private String DLXZ;

    /**
     * 试验开始时间
     */
    @NotNull(message = "试验开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date TestBegin;

    /**
     * 试验结束时间
     */
    @NotNull(message = "试验结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date TestEnd;

    /**
     * 过程数据 格式:时间1,力值1,位移1,变形1;时间2,力值2,位移2,变形2;....
     */
    @NotBlank(message = "过程数据 格式:时间1,力值1,位移1,变形1;时间2,力值2,位移2,变形2;....不能为空", groups = { AddGroup.class, EditGroup.class })
    private String YSGCSJ;

    /**
     * 数据来源
     */
    @NotBlank(message = "数据来源不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 部门id
     */
    @NotBlank(message = "部门id", groups = { AddGroup.class, EditGroup.class })
    private String deptId;

    /**
     * 部门code
     */
    @NotBlank(message = "部门code", groups = { AddGroup.class, EditGroup.class })
    private String deptCode;
    /**
     * 断裂特征
     */
    private String fractureFeature;

}
